package cn.com.huzo.service.tech;

import cn.com.huzo.model.entities.tech.PieceYardageLinesProductSizeEntity;
import huzofw.service.GenericManager;
import java.util.List;
import java.util.Map;
import org.springframework.transaction.annotation.Transactional;

/**
 * 单耗-成品尺码管理服务对象接口。
 *
 * @author 吴旭
 */
public interface PieceYardageLinesProductSizeManager extends GenericManager<PieceYardageLinesProductSizeEntity, String> {

    /**
     * 根据给定的单耗ID，得到成品尺码明细数据列表
     * <p>
     * @param headerId 单耗ID
     * @return 单耗明细数据列表
     * @throws java.lang.Exception
     */
    List<PieceYardageLinesProductSizeEntity> fetchByHeaderId(Long headerId) throws Exception;

    /**
     * 增加成品尺码明细
     * <p>
     * @param itemList 成品尺码ID列表
     * @return
     * @throws java.lang.Exception
     */
    Map<String, Object> insert(List<PieceYardageLinesProductSizeEntity> itemList) throws Exception;

    /**
     * 更新成品尺码
     * <p>
     * @param itemList 要更新的数据
     * @return 影响行数
     * @throws java.lang.Exception
     */
    @Transactional
    Map<String, Object> update(List<PieceYardageLinesProductSizeEntity> itemList) throws Exception;
    
    /**
     * 删除单耗明细中的成品尺码
     * <p>
     * @param instance 要删除的数据
     * @return
     * @throws java.lang.Exception
     */
    Map<String, Object> deleteLines(PieceYardageLinesProductSizeEntity instance) throws Exception;
}
